package org.trader.proj.Dao.Impl;

import java.util.List;

import javax.annotation.Resource;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.stereotype.Repository;
import org.trader.proj.Dao.TblUserDao;
import org.trader.proj.Pojo.TblUser;

//不管怎么说，这只是在Spring中实现Hibernate的一种方式，还有一种更常用的有机会在展示了

//impl是dao的实现，之所以这样编程是为了面向接口，具体有啥用我也不知道，这好像已经是规范了，你看着办吧。

@Repository//@Repository标注该类为数据库访问组件，这种annotation是杀鸡用牛刀的典型。
public class TblUserDaoImpl implements TblUserDao {
	@Resource //通过注解的方式注入SessionFactory,DAO需要sessionfactory才能工作
	private SessionFactory sessionFactory;
	
	/* (non-Javadoc)
	 * @see org.trader.proj.Dao.TblUserDao#getUser(java.lang.String, java.lang.String)
	 */
	@SuppressWarnings("unchecked")//这玩意再java中可以用来忽略警告，我只是展示一下，没有实际意义
	public TblUser getUser(String loginName, String password) {
		String hql = "from TblUser where loginName=? and password=?";
		Query query = sessionFactory.getCurrentSession().createQuery(hql);
		query.setString(0, loginName);
		query.setString(1, password);
		TblUser tblUser = null;
		List<TblUser> list = query.list();
		if (list.size()>0) {
			tblUser = list.get(0);
		}
		return tblUser;
	}
	
}
